home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / pascal / zindent7.zip / ZINFILE.INC < prev    next >
Text File  |  1987-03-30  |  5KB  |  164 lines

  1.  
  2. (*******************************************************************)
  3. (*                                                                 *)
  4. (* Include File                                                    *)
  5. (* SysFile.inc, v. 0800am, sun, 28.Mar.87, Glen Ellis              *)
  6. (*                                                                 *)
  7. (*******************************************************************)
  8.  
  9.  
  10. (* *)
  11. (*    function:
  12. (*      fetches parameters from text file named SYSFILE.DAT
  13. (*
  14. (*    file format:
  15. (*       for INDENT.PAS and FIND.PAS applications
  16. (*       the format is list of FILE.TYP
  17. (*       normal ASCII data
  18. (*       terminal delimiter is <0D><0A)
  19. (*       standard CP/M  MSDOS text file format
  20. (* *)
  21.  
  22.  
  23. (*-------------------------------*)
  24.  
  25. BEGIN (* INCLUDE *)
  26.    
  27.    (* sent by calling main module *)
  28.    (* SysInFilename := SysPgmName; *)
  29.    
  30.    (*$I-*);
  31.    ASSIGN( SysInFile, SysInFilename );
  32.    RESET( SysInFile );
  33.    
  34.    Writeln(Chr(7));
  35.    Writeln('---------------------------------');
  36.    Writeln('  Checking for ' + SysInFileName);
  37.    Writeln('---------------------------------');
  38.    writeln;
  39.    
  40.    (* work *)
  41.    (* modify user display, based on SysInFileName = SysPgmName *)
  42.    pIOcheck( SysIOcheck );
  43.    
  44.    (*$I+*);
  45.    
  46.    (* local I/O check to capture the IO flag from pIOcheck *)
  47.    
  48.    (*-------------------------------*)
  49.    (* NO I/O Err, so do the routine *)
  50.    
  51.    If not IOerr then
  52.    (* pgm has found the text file OK *)
  53.    begin
  54.       
  55.       (* tracer for user *)
  56.       IF SysUserTrace then
  57.       writeln('-------> SysFile.Inc  Reading ',SysInFileName);
  58.       
  59.       IF SysPgmTrace
  60.          then pDelay1;
  61.       
  62.       SysCmdUser     := true ; (* enable User Entry Module    *)
  63.       SysCmdUserFile := false; (* have the list already       *)
  64.       SysCmdUserParm := true ; (* enable User Entry of Parms  *)
  65.       
  66.       SysInFileName := '             '; (* empty name *)
  67.       SysInSourceMax := 0; (* initz for reading into array *)
  68.       
  69.       WHILE not eof(SysInFile) do
  70.       begin
  71.          
  72.          (* inc tail-end counter *)
  73.          SysInSourceMax := SysInSourceMax + 1;
  74.          
  75.          (* fetch line *)
  76.          readln(SysInFile,SysInSource[SysInSourceMax]);
  77.          
  78.       end; (* while *)
  79.       
  80.       writeln;
  81.       
  82.       CLOSE( SysInFile );
  83.       pIOcheck( SysIOcheck );
  84.       
  85.    end; (* not IOerror *)
  86.    
  87.    
  88.    (* error recovery *)
  89.    IF IOerr then
  90.    (* procedure IOCHECK has already displayed small message *)
  91.    begin
  92.       
  93.       (* lock the CORE *)
  94.       (* redundancy OK . Clear the Process ! *)
  95.       SysCmdLine := false;
  96.       SysCmdFile := false;
  97.       (**)  SysCmdUser := true ;
  98.       SysCmdUserFile := true;
  99.       SysCmdUserParm := true;
  100.       
  101.       
  102.       SysInSourceMax := 0; (* no entries in array *)
  103.       
  104.       SysInFileName := '?';  (* enable Documents module *)
  105.       
  106.       IF SysUserTrace
  107.       then
  108.       begin
  109.          writeln;
  110.          writeln('----------------------------------------------');
  111.          writeln;
  112.          writeln(' ', SysPgmName,' with filename list  not found');
  113.          writeln;
  114.          writeln('  User Entry / Documentation coming next.');
  115.          writeln;
  116.          writeln('  wait . . . .');
  117.          pDelay4;
  118.       end;
  119.       
  120.       CLOSE( SysInFile );
  121.       pIOcheck( SysIOcheck );
  122.       
  123.    end;
  124.    
  125.    (**)
  126.    (*
  127.    (* Developer's note to himself :
  128.    (*
  129.    (* Default settings will be manually inserted.
  130.    (* Required originally for INDENT.PRO called by KEYWORD.PRO.
  131.    (* Indent.pro was written into STRING.INC for consistency.
  132.    (* Default output is for a 'running' dBASE/Pascal source file
  133.    (*         with indents and comments, but no line numbering.
  134.    (*
  135.    (* These defaults are to be modified for each application
  136.    (* which incorporates the System.Pas CORE module series.
  137.    (*
  138.    (* install defaults above, or here ... but somewhere !
  139.    (*
  140.    (**)
  141.    
  142.    (* Array Has Been Loaded, clean the vars   *)
  143.    (*SysInFilename installed above *)
  144.    SysOutFilename := '        ';
  145.    SysInSourceCnt := 0 ;
  146.    (* InSourceMax installed above *)
  147.    
  148.    (* from sysFILE method : Default Operation Modes *)
  149.    SysIndent    := true;    (* enable indent procedure        *)
  150.    SysComment   := true;    (* enable comment line write      *)
  151.    SysLineCnt   := false;   (* disable line number write      *)
  152.    SysVertiate  := false;   (* disable vertical markers       *)
  153.    
  154.    (* Default Operating Parameters *)
  155.    SysIndentNum := 3;       (* standard, useful figure        *)
  156.    SysIndentPos := 0;       (* always                         *)
  157.    SysLenMax    := 79;      (* print page                     *)
  158.    
  159.    
  160. END; (* INCLUDE *)
  161.  
  162.  
  163. (*******************************************************************)
  164. (*<<<>>>*)